/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package accesodatos;

/**
 *
 * @author usuario
 */


import Logica.generadorReporte;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
//import persistencia.FachadaDW;
////import reportes.jfreechart.generadorReporte;

/**
 *
 * @author judarg
 */
public class DaoReporte {
    private FachadaDW fachadaDW;

    public DaoReporte() 
    {
        
        fachadaDW = new FachadaDW();
    }
    
    /**
     * @return the fachadaBD
     */
    public FachadaDW getFachadaDW() 
    {
        return fachadaDW;
    }

    /**
     * @param fachadaBD the fachadaBD to set
     */
    public void setFachadaDW(FachadaDW fachadaBD) {
        this.fachadaDW = fachadaBD;
    }
    
    public void pintarReporteBarras(String consulta){
        Connection conexion = fachadaDW.conectar();
        
        if(conexion == null) {
            System.out.println("error al tratar de conectarse con la base de datos");
        } else {
            try {
                Statement instruccion = conexion.createStatement();
                ResultSet resultado = instruccion.executeQuery(consulta);
                new generadorReporte(resultado,"Barras");                     
            }catch (SQLException ex) {
                
                try {
                    conexion.close();
                } catch (SQLException ex1) {
                   ex1.printStackTrace();
                }
                               
            }
            fachadaDW.cerrarConexion(conexion);
        }
        
    }
    
    public void pintarReportePastel(String consulta){
        Connection conexion = fachadaDW.conectar();
        
        if(conexion == null) {
            System.out.println("error al tratar de conectarse con la base de datos");
        } else {
            try {
                Statement instruccion = conexion.createStatement();
                ResultSet resultado = instruccion.executeQuery(consulta);
                generadorReporte reporte= new generadorReporte(resultado,"Pastel");                     
            }catch (SQLException ex) {
              
                try {
                    conexion.close();
                } catch (SQLException ex1) {
                
                }
                
            }
            fachadaDW.cerrarConexion(conexion);
        }
        
    }
    
    public static void main (String args[]){
        DaoReporte da= new DaoReporte();
        da.pintarReportePastel(" SELECT count(*) cantidad  ,F.anio FROM retiros r  JOIN dimension_demografica D JOIN fecha F WHERE  r.id_demografia=D.id_demografia AND D.sexo= 'M' AND D.estrato= '1' AND D.estado_civil= 'Soltero' AND F.k_fecha=r.id_fecha_retiro AND F.anio>='2006' AND F.anio <= '2008' AND r.motivo_retiro='PAGO NO OPORTUNO' GROUP BY  F.anio;");
    }
    
    
}
